import numpy as np
import pandas as pd
from src_AI.algorithm import *
from matplotlib import pyplot as plt

# 文件的名字
FILENAME = "../data.xlsx"
# 禁用科学计数法
pd.set_option('float_format', lambda x: '%.3f' % x)
np.set_printoptions(suppress=True, threshold=np.nan)
# 得到的DataFrame分别为总价、面积、房间、客厅、年份
data = pd.read_excel(FILENAME, header=0, usecols="A,D,H,I,J")
# DataFrame转化为array
DataArray = data.values
Y = DataArray[:, 0]
X = DataArray[:, 1:5]

# X = np.append(np.ones(381,1),X)
X = np.array(X)#转化为array
# oneVector = np.ones(np.size(X, 0)).reshape(np.size(X, 0), 1)#全1矩阵x
# X = np.concatenate((oneVector, X), axis=1)
Y = np.array(Y).reshape(np.size(Y, 0))
a = 0.02
theta = gradient_descent(X, Y, a)
# print(theta)

Y = [140.0,   136.0,   165.0,   125.0,   134.0,   145.0,   148.0,   148.0,   148.0,   150.0,   150.0,   152.0,
 152.0,   153.0,   155.0,   155.0,   162.0,   155.0,   156.0,   160.0,   170.0,   135.0,   162.0,   170.0,
 170.0,   172.0,   172.0,   173.0,   180.0,   135.0,   140.0,   160.0,   165.0,   175.0,   180.0,   185.0,
 190.0,   160.0,   160.0,   170.0,   158.0,   160.0,   160.0,   172.0,   175.0,   179.0,   135.0,   168.0,
 150.0,   160.0,   165.0,   173.0,   178.0,   180.0,   143.0,   158.0,   165.0,   168.0,   173.0,   175.0,
 140.0,   148.0,   165.0,   182.0,   145.0,   146.0,   150.0,   157.0,   165.0,   168.0,   168.0,   170.0,
 175.0,   179.0,   180.0,   183.0,   190.0,   198.0,   140.0,   150.0,   160.0,   168.0,   170.0,   206.0,
 150.0,   150.0,   163.0,   165.0,   168.0,   168.0,   170.0,   173.0,   175.0,   178.0,   178.0,   180.0,
 180.0,   182.0,   188.0,   188.0,   208.0,   220.0,   150.0,   168.0,   170.0,   170.0,   170.0,   170.0,
 178.0,   183.0,   185.0,   153.0,   165.0,   168.0,   180.0,   157.0,   160.0,   180.0,   158.0,   159.0,
 160.0,   161.0,   162.0,   164.0,   165.0,   165.0,   165.0,   170.0,   170.0,   171.0,   171.0,   180.0,
 180.0,   180.0,   180.0,   183.0,   185.0,   185.0,   185.0,   185.0,   185.0,   186.0,   190.0,   195.0,
 195.0,   195.0,   200.0,   205.0,   205.0,   210.0,   215.0,   260.0,   265.0,   156.0,   158.0,   169.0,
 170.0,   172.0,   175.0,   176.0,   185.0,   190.0,   200.0,   200.0,   210.0,   210.0,   220.0,   229.0,
 230.0,   178.0,   196.0,   213.0,   160.0,   164.0,   166.0,   168.0,   170.0,   170.0,   170.0,   175.0,
 176.0,   178.0,   178.0,   180.0,   182.0,   187.0,   188.0,   188.0,   202.0,   203.0,   220.0,   225.0,
 225.0,   228.0,   236.0,   165.0,   165.0,   184.0,   192.0,   195.0,   195.0,   198.0,   200.0,   208.0,
 208.0,   215.0,   215.0,   165.0,   185.0,   190.0,   195.0,   195.0,   212.0,   188.0,   189.0,   195.0,
 195.0,   200.0,   205.0,   207.0,   168.0,   190.0,   199.0,   182.0,   188.0,   196.0,   260.0,   220.0,
 220.0,   228.0,   229.0,   229.0,   230.0,   230.0,   230.0,   235.0,   244.0,   268.0,   280.0,   220.0,
 250.0,   250.0,   250.0,   260.0,   268.0,   282.0,   248.0,   200.0,   223.0,   280.0,   223.0,   230.0,
 263.0,   268.0,   280.0,   270.0,   275.0,   280.0,   282.0,   300.0,   278.0,   278.0,   280.0,   278.0,
 250.0,   268.0,   275.0,   275.0,   280.0,   280.0,   280.0,   280.0,   288.0,   298.0,   298.0,   300.0,
 316.0,   268.0,   290.0,   306.0,   218.0,   225.0,   230.0,   245.0,   258.0,   279.0,   268.0,   286.0,
 286.0,   275.0,   245.0,   258.0,   270.0,   292.0,   299.0,   300.0,   340.0,   245.0,   260.0,   260.0,
 275.0,   280.0,   305.0,   255.0,   258.0,   265.0,   270.0,   280.0,   295.0,   300.0,   302.0,   335.0,
 342.0,   240.0,   310.0,   340.0,   345.0,   366.0,   320.0,   320.0,   340.0,   360.0,   360.0,   360.0,
 330.0,   340.0,   350.0,   350.0,   350.0,   361.0,   410.0,   320.0,   335.0,   340.0,   350.0,   358.0,
 358.0,   360.0,   360.0,   365.0,   370.0,   370.0,   370.0,   340.0,   350.0,   365.0,   366.0,   308.0,
 330.0,   388.0,   315.0,   321.0,   270.0,   308.0,   330.0,   362.0,   365.0,   388.0,   400.0,   408.0,
 400.0,   420.0,   450.0,   475.0,   479.0,   480.0,   370.0,   400.0,   400.0,   345.0,   400.0,   390.0,
 455.0,   460.0,   420.0,   470.0,   480.0,   510.0,   500.0,   500.0  ]
X = [[  69.0,     2.0,     2.0,  2003.0 ],
 [  73.0,     2.0,     2.0,  2016.0 ],
 [  73.0,     2.0,     2.0,  2007.0 ],
 [  74.0,     2.0,     2.0,  2013.0 ],
 [  74.0,     3.0,     2.0,  2012.0 ],
 [  74.0,     2.0,     2.0,  2015.0 ],
 [  74.0,     2.0,     2.0,  2007.0 ],
 [  74.0,     2.0,     2.0,  2004.0 ],
 [  74.0,     2.0,     2.0,  2008.0 ],
 [  74.0,     2.0,     2.0,  2006.0 ],
 [  74.0,     2.0,     2.0,  2008.0 ],
 [  74.0,     2.0,     2.0,  2009.0 ],
 [  74.0,     2.0,     2.0,  2008.0 ],
 [  74.0,     2.0,     2.0,  2006.0 ],
 [  74.0,     2.0,     2.0,  2009.0 ],
 [  74.0,     2.0,     2.0,  2008.0 ],
 [  74.0,     2.0,     2.0,  2004.0 ],
 [  75.0,     2.0,     2.0,  2010.0 ],
 [  75.0,     2.0,     2.0,  2012.0 ],
 [  77.0,     3.0,     2.0,  2012.0 ],
 [  77.0,     3.0,     2.0,  2012.0 ],
 [  79.0,     3.0,     2.0,  2011.0 ],
 [  79.0,     2.0,     2.0,  2016.0 ],
 [  79.0,     2.0,     2.0,  2015.0 ],
 [  79.0,     2.0,     2.0,  2015.0 ],
 [  79.0,     2.0,     2.0,  2016.0 ],
 [  79.0,     2.0,     2.0,  2016.0 ],
 [  79.0,     2.0,     2.0,  2017.0 ],
 [  79.0,     2.0,     2.0,  2016.0 ],
 [  80.0,     2.0,     2.0,  2011.0 ],
 [  80.0,     2.0,     2.0,  2016.0 ],
 [  80.0,     2.0,     2.0,  2016.0 ],
 [  80.0,     2.0,     2.0,  2015.0 ],
 [  80.0,     2.0,     2.0,  2017.0 ],
 [  80.0,     2.0,     2.0,  2016.0 ],
 [  80.0,     2.0,     2.0,  2017.0 ],
 [  80.0,     2.0,     2.0,  2015.0 ],
 [  81.0,     2.0,     2.0,  2016.0 ],
 [  81.0,     2.0,     1.0,  2017.0 ],
 [  81.0,     2.0,     2.0,  2015.0 ],
 [  82.0,     2.0,     2.0,  2013.0 ],
 [  82.0,     2.0,     2.0,  2012.0 ],
 [  82.0,     2.0,     2.0,  2015.0 ],
 [  82.0,     2.0,     2.0,  2016.0 ],
 [  82.0,     2.0,     2.0,  2016.0 ],
 [  82.0,     2.0,     2.0,  2016.0 ],
 [  83.0,     3.0,     2.0,  2016.0 ],
 [  83.0,     2.0,     2.0,  2017.0 ],
 [  84.0,     3.0,     2.0,  2013.0 ],
 [  84.0,     3.0,     2.0,  2015.0 ],
 [  84.0,     2.0,     2.0,  2017.0 ],
 [  84.0,     2.0,     2.0,  2013.0 ],
 [  84.0,     2.0,     2.0,  2012.0 ],
 [  84.0,     2.0,     1.0,  2015.0 ],
 [  85.0,     3.0,     2.0,  2012.0 ],
 [  85.0,     2.0,     2.0,  2017.0 ],
 [  85.0,     2.0,     2.0,  2017.0 ],
 [  85.0,     2.0,     2.0,  2017.0 ],
 [  85.0,     2.0,     2.0,  2016.0 ],
 [  85.0,     2.0,     2.0,  2016.0 ],
 [  86.0,     3.0,     2.0,  2016.0 ],
 [  86.0,     3.0,     2.0,  2015.0 ],
 [  86.0,     2.0,     2.0,  2015.0 ],
 [  86.0,     3.0,     2.0,  2015.0 ],
 [  87.0,     2.0,     2.0,  2015.0 ],
 [  87.0,     3.0,     2.0,  2016.0 ],
 [  87.0,     3.0,     2.0,  2005.0 ],
 [  87.0,     2.0,     2.0,  2017.0 ],
 [  87.0,     2.0,     2.0,  2012.0 ],
 [  87.0,     2.0,     2.0,  2010.0 ],
 [  87.0,     2.0,     2.0,  2012.0 ],
 [  87.0,     3.0,     2.0,  2013.0 ],
 [  87.0,     3.0,     2.0,  2013.0 ],
 [  87.0,     3.0,     2.0,  2013.0 ],
 [  87.0,     2.0,     2.0,  2012.0 ],
 [  87.0,     2.0,     2.0,  2013.0 ],
 [  87.0,     2.0,     2.0,  2013.0 ],
 [  87.0,     3.0,     2.0,  2013.0 ],
 [  88.0,     3.0,     2.0,  2016.0 ],
 [  88.0,     3.0,     2.0,  2015.0 ],
 [  88.0,     2.0,     2.0,  2012.0 ],
 [  88.0,     3.0,     2.0,  2015.0 ],
 [  88.0,     2.0,     2.0,  2017.0 ],
 [  88.0,     3.0,     2.0,  2018.0 ],
 [  89.0,     3.0,     2.0,  2016.0 ],
 [  89.0,     3.0,     2.0,  2015.0 ],
 [  89.0,     3.0,     2.0,  2013.0 ],
 [  89.0,     2.0,     2.0,  2015.0 ],
 [  89.0,     3.0,     2.0,  2009.0 ],
 [  89.0,     3.0,     2.0,  2013.0 ],
 [  89.0,     2.0,     2.0,  2013.0 ],
 [  89.0,     3.0,     2.0,  2012.0 ],
 [  89.0,     2.0,     1.0,  2010.0 ],
 [  89.0,     3.0,     2.0,  2013.0 ],
 [  89.0,     2.0,     2.0,  2014.0 ],
 [  89.0,     3.0,     2.0,  2011.0 ],
 [  89.0,     3.0,     2.0,  2013.0 ],
 [  89.0,     3.0,     2.0,  2009.0 ],
 [  89.0,     3.0,     2.0,  2012.0 ],
 [  89.0,     3.0,     2.0,  2013.0 ],
 [  89.0,     2.0,     2.0,  2011.0 ],
 [  89.0,     3.0,     2.0,  2017.0 ],
 [  90.0,     3.0,     2.0,  2007.0 ],
 [  90.0,     2.0,     2.0,  2010.0 ],
 [  90.0,     3.0,     2.0,  2013.0 ],
 [  90.0,     2.0,     2.0,  2010.0 ],
 [  90.0,     3.0,     2.0,  2010.0 ],
 [  90.0,     2.0,     2.0,  2010.0 ],
 [  90.0,     2.0,     2.0,  2013.0 ],
 [  90.0,     2.0,     2.0,  2014.0 ],
 [  90.0,     2.0,     2.0,  2012.0 ],
 [  91.0,     3.0,     2.0,  2015.0 ],
 [  91.0,     2.0,     2.0,  2010.0 ],
 [  91.0,     3.0,     2.0,  2016.0 ],
 [  91.0,     3.0,     2.0,  2015.0 ],
 [  92.0,     2.0,     2.0,  2013.0 ],
 [  93.0,     2.0,     2.0,  2007.0 ],
 [  93.0,     3.0,     2.0,  2015.0 ],
 [  95.0,     3.0,     2.0,  2014.0 ],
 [  95.0,     3.0,     2.0,  2018.0 ],
 [  95.0,     3.0,     2.0,  2010.0 ],
 [  95.0,     3.0,     2.0,  2012.0 ],
 [  95.0,     3.0,     2.0,  2014.0 ],
 [  95.0,     3.0,     2.0,  2015.0 ],
 [  95.0,     3.0,     2.0,  2013.0 ],
 [  95.0,     3.0,     2.0,  2012.0 ],
 [  95.0,     2.0,     2.0,  2014.0 ],
 [  95.0,     3.0,     2.0,  2016.0 ],
 [  95.0,     3.0,     2.0,  2015.0 ],
 [  95.0,     2.0,     2.0,  2017.0 ],
 [  95.0,     3.0,     2.0,  2015.0 ],
 [  95.0,     3.0,     2.0,  2008.0 ],
 [  95.0,     3.0,     2.0,  2014.0 ],
 [  95.0,     3.0,     2.0,  2012.0 ],
 [  95.0,     3.0,     2.0,  2017.0 ],
 [  95.0,     3.0,     2.0,  2014.0 ],
 [  95.0,     2.0,     2.0,  2013.0 ],
 [  95.0,     3.0,     2.0,  2013.0 ],
 [  95.0,     3.0,     2.0,  2007.0 ],
 [  95.0,     2.0,     1.0,  2009.0 ],
 [  95.0,     3.0,     2.0,  2008.0 ],
 [  95.0,     3.0,     2.0,  2015.0 ],
 [  95.0,     2.0,     2.0,  2013.0 ],
 [  95.0,     3.0,     2.0,  2017.0 ],
 [  95.0,     3.0,     2.0,  2012.0 ],
 [  95.0,     3.0,     2.0,  2015.0 ],
 [  95.0,     3.0,     2.0,  2015.0 ],
 [  95.0,     3.0,     2.0,  2010.0 ],
 [  95.0,     3.0,     2.0,  2008.0 ],
 [  95.0,     3.0,     2.0,  2007.0 ],
 [  95.0,     3.0,     2.0,  2016.0 ],
 [  95.0,     3.0,     2.0,  2013.0 ],
 [  95.0,     3.0,     3.0,  2007.0 ],
 [  96.0,     3.0,     2.0,  2015.0 ],
 [  96.0,     3.0,     2.0,  2013.0 ],
 [  96.0,     3.0,     2.0,  2013.0 ],
 [  96.0,     3.0,     2.0,  2005.0 ],
 [  96.0,     3.0,     2.0,  2007.0 ],
 [  96.0,     3.0,     2.0,  2008.0 ],
 [  96.0,     3.0,     2.0,  2013.0 ],
 [  96.0,     3.0,     2.0,  2007.0 ],
 [  96.0,     3.0,     2.0,  2010.0 ],
 [  96.0,     3.0,     2.0,  2013.0 ],
 [  96.0,     3.0,     2.0,  2015.0 ],
 [  96.0,     3.0,     2.0,  2015.0 ],
 [  96.0,     3.0,     2.0,  2012.0 ],
 [  96.0,     3.0,     2.0,  2007.0 ],
 [  96.0,     3.0,     2.0,  2014.0 ],
 [  96.0,     3.0,     2.0,  2013.0 ],
 [  97.0,     3.0,     2.0,  2012.0 ],
 [  97.0,     3.0,     2.0,  2018.0 ],
 [  97.0,     3.0,     2.0,  2016.0 ],
 [  98.0,     3.0,     2.0,  2015.0 ],
 [  98.0,     4.0,     2.0,  2014.0 ],
 [  98.0,     3.0,     2.0,  2015.0 ],
 [  98.0,     3.0,     2.0,  2018.0 ],
 [  98.0,     3.0,     2.0,  2007.0 ],
 [  98.0,     3.0,     2.0,  2015.0 ],
 [  98.0,     3.0,     2.0,  2007.0 ],
 [  98.0,     3.0,     2.0,  2015.0 ],
 [  98.0,     3.0,     2.0,  2007.0 ],
 [  98.0,     3.0,     2.0,  2007.0 ],
 [  98.0,     3.0,     2.0,  2017.0 ],
 [  98.0,     3.0,     2.0,  2017.0 ],
 [  98.0,     3.0,     2.0,  2007.0 ],
 [  98.0,     3.0,     2.0,  2018.0 ],
 [  98.0,     4.0,     2.0,  2018.0 ],
 [  98.0,     3.0,     2.0,  2016.0 ],
 [  98.0,     3.0,     2.0,  2017.0 ],
 [  98.0,     3.0,     2.0,  2017.0 ],
 [  98.0,     3.0,     2.0,  2014.0 ],
 [  98.0,     3.0,     2.0,  2015.0 ],
 [  98.0,     4.0,     2.0,  2007.0 ],
 [  98.0,     3.0,     2.0,  2014.0 ],
 [  98.0,     3.0,     2.0,  2014.0 ],
 [  99.0,     3.0,     2.0,  2014.0 ],
 [ 101.0,     4.0,     2.0,  2017.0 ],
 [ 101.0,     3.0,     2.0,  2016.0 ],
 [ 101.0,     3.0,     2.0,  2012.0 ],
 [ 101.0,     3.0,     2.0,  2014.0 ],
 [ 101.0,     3.0,     2.0,  2013.0 ],
 [ 101.0,     3.0,     2.0,  2013.0 ],
 [ 101.0,     3.0,     2.0,  2013.0 ],
 [ 101.0,     3.0,     2.0,  2013.0 ],
 [ 101.0,     3.0,     2.0,  2013.0 ],
 [ 101.0,     3.0,     2.0,  2015.0 ],
 [ 101.0,     3.0,     2.0,  2013.0 ],
 [ 102.0,     4.0,     2.0,  2015.0 ],
 [ 102.0,     3.0,     2.0,  2017.0 ],
 [ 102.0,     3.0,     2.0,  2015.0 ],
 [ 102.0,     3.0,     2.0,  2013.0 ],
 [ 102.0,     3.0,     2.0,  2016.0 ],
 [ 102.0,     3.0,     2.0,  2014.0 ],
 [ 103.0,     2.0,     2.0,  2008.0 ],
 [ 103.0,     3.0,     2.0,  2013.0 ],
 [ 103.0,     3.0,     2.0,  2015.0 ],
 [ 103.0,     3.0,     2.0,  2015.0 ],
 [ 103.0,     3.0,     2.0,  2009.0 ],
 [ 103.0,     3.0,     2.0,  2018.0 ],
 [ 103.0,     2.0,     2.0,  2009.0 ],
 [ 105.0,     4.0,     2.0,  2012.0 ],
 [ 105.0,     3.0,     2.0,  2009.0 ],
 [ 109.0,     3.0,     2.0,  2013.0 ],
 [ 113.0,     3.0,     2.0,  2015.0 ],
 [ 113.0,     3.0,     2.0,  2015.0 ],
 [ 113.0,     3.0,     2.0,  2016.0 ],
 [ 113.0,     3.0,     2.0,  2016.0 ],
 [ 114.0,     3.0,     2.0,  2016.0 ],
 [ 114.0,     3.0,     2.0,  2014.0 ],
 [ 114.0,     3.0,     2.0,  2015.0 ],
 [ 114.0,     3.0,     2.0,  2015.0 ],
 [ 114.0,     3.0,     2.0,  2016.0 ],
 [ 114.0,     3.0,     2.0,  2016.0 ],
 [ 114.0,     3.0,     2.0,  2016.0 ],
 [ 114.0,     3.0,     2.0,  2016.0 ],
 [ 114.0,     3.0,     2.0,  2017.0 ],
 [ 114.0,     4.0,     2.0,  2015.0 ],
 [ 114.0,     3.0,     2.0,  2016.0 ],
 [ 114.0,     4.0,     3.0,  2015.0 ],
 [ 115.0,     4.0,     2.0,  2015.0 ],
 [ 116.0,     3.0,     2.0,  2016.0 ],
 [ 116.0,     3.0,     2.0,  2016.0 ],
 [ 116.0,     3.0,     2.0,  2016.0 ],
 [ 116.0,     3.0,     2.0,  2018.0 ],
 [ 116.0,     3.0,     2.0,  2017.0 ],
 [ 116.0,     3.0,     2.0,  2014.0 ],
 [ 117.0,     5.0,     2.0,  2007.0 ],
 [ 118.0,     4.0,     2.0,  2015.0 ],
 [ 118.0,     4.0,     2.0,  2015.0 ],
 [ 118.0,     3.0,     2.0,  2016.0 ],
 [ 119.0,     3.0,     2.0,  2013.0 ],
 [ 119.0,     3.0,     2.0,  2016.0 ],
 [ 122.0,     3.0,     2.0,  2012.0 ],
 [ 122.0,     3.0,     2.0,  2010.0 ],
 [ 122.0,     3.0,     2.0,  2013.0 ],
 [ 123.0,     3.0,     2.0,  2015.0 ],
 [ 123.0,     3.0,     2.0,  2014.0 ],
 [ 123.0,     3.0,     2.0,  2013.0 ],
 [ 123.0,     3.0,     2.0,  2012.0 ],
 [ 123.0,     3.0,     2.0,  2015.0 ],
 [ 124.0,     3.0,     2.0,  2014.0 ],
 [ 124.0,     3.0,     2.0,  2016.0 ],
 [ 124.0,     3.0,     2.0,  2014.0 ],
 [ 125.0,     3.0,     2.0,  2013.0 ],
 [ 133.0,     3.0,     2.0,  2010.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 134.0,     3.0,     2.0,  2013.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 134.0,     3.0,     2.0,  2013.0 ],
 [ 134.0,     3.0,     2.0,  2013.0 ],
 [ 134.0,     3.0,     2.0,  2014.0 ],
 [ 135.0,     3.0,     2.0,  2015.0 ],
 [ 135.0,     3.0,     2.0,  2007.0 ],
 [ 135.0,     3.0,     2.0,  2014.0 ],
 [ 136.0,     4.0,     2.0,  2016.0 ],
 [ 136.0,     4.0,     2.0,  2010.0 ],
 [ 136.0,     4.0,     2.0,  2017.0 ],
 [ 136.0,     3.0,     2.0,  2007.0 ],
 [ 136.0,     4.0,     2.0,  2015.0 ],
 [ 136.0,     3.0,     2.0,  2013.0 ],
 [ 138.0,     4.0,     2.0,  2013.0 ],
 [ 138.0,     3.0,     2.0,  2014.0 ],
 [ 138.0,     3.0,     2.0,  2014.0 ],
 [ 143.0,     4.0,     2.0,  2015.0 ],
 [ 146.0,     3.0,     2.0,  2009.0 ],
 [ 146.0,     3.0,     2.0,  2009.0 ],
 [ 146.0,     3.0,     2.0,  2010.0 ],
 [ 146.0,     4.0,     2.0,  2017.0 ],
 [ 146.0,     4.0,     2.0,  2016.0 ],
 [ 146.0,     4.0,     2.0,  2015.0 ],
 [ 146.0,     4.0,     2.0,  2016.0 ],
 [ 147.0,     4.0,     2.0,  2016.0 ],
 [ 147.0,     4.0,     2.0,  2015.0 ],
 [ 147.0,     3.0,     2.0,  2010.0 ],
 [ 147.0,     3.0,     2.0,  2009.0 ],
 [ 147.0,     3.0,     2.0,  2009.0 ],
 [ 147.0,     4.0,     2.0,  2016.0 ],
 [ 149.0,     3.0,     2.0,  2009.0 ],
 [ 149.0,     3.0,     2.0,  2009.0 ],
 [ 149.0,     3.0,     2.0,  2008.0 ],
 [ 149.0,     3.0,     2.0,  2009.0 ],
 [ 149.0,     3.0,     2.0,  2008.0 ],
 [ 153.0,     5.0,     3.0,  2013.0 ],
 [ 153.0,     3.0,     2.0,  2013.0 ],
 [ 153.0,     4.0,     2.0,  2012.0 ],
 [ 153.0,     3.0,     2.0,  2015.0 ],
 [ 153.0,     3.0,     2.0,  2014.0 ],
 [ 155.0,     4.0,     2.0,  2015.0 ],
 [ 162.0,     4.0,     2.0,  2016.0 ],
 [ 162.0,     4.0,     2.0,  2015.0 ],
 [ 162.0,     4.0,     2.0,  2016.0 ],
 [ 162.0,     4.0,     2.0,  2013.0 ],
 [ 163.0,     4.0,     2.0,  2016.0 ],
 [ 163.0,     4.0,     2.0,  2016.0 ],
 [ 163.0,     4.0,     2.0,  2017.0 ],
 [ 177.0,     4.0,     2.0,  2012.0 ],
 [ 177.0,     4.0,     2.0,  2013.0 ],
 [ 177.0,     4.0,     2.0,  2015.0 ],
 [ 178.0,     5.0,     2.0,  2013.0 ],
 [ 178.0,     5.0,     2.0,  2014.0 ],
 [ 178.0,     4.0,     2.0,  2016.0 ],
 [ 178.0,     4.0,     2.0,  2014.0 ],
 [ 178.0,     4.0,     2.0,  2015.0 ],
 [ 178.0,     4.0,     2.0,  2015.0 ],
 [ 178.0,     4.0,     2.0,  2007.0 ],
 [ 179.0,     4.0,     2.0,  2015.0 ],
 [ 179.0,     4.0,     2.0,  2014.0 ],
 [ 179.0,     5.0,     2.0,  2013.0 ],
 [ 179.0,     4.0,     2.0,  2013.0 ],
 [ 179.0,     4.0,     2.0,  2014.0 ],
 [ 179.0,     4.0,     2.0,  2016.0 ],
 [ 179.0,     4.0,     2.0,  2014.0 ],
 [ 179.0,     4.0,     2.0,  2015.0 ],
 [ 179.0,     5.0,     2.0,  2011.0 ],
 [ 179.0,     4.0,     2.0,  2013.0 ],
 [ 179.0,     4.0,     2.0,  2011.0 ],
 [ 179.0,     4.0,     2.0,  2014.0 ],
 [ 180.0,     4.0,     2.0,  2012.0 ],
 [ 183.0,     4.0,     2.0,  2014.0 ],
 [ 183.0,     5.0,     2.0,  2011.0 ],
 [ 183.0,     4.0,     2.0,  2014.0 ],
 [ 185.0,     5.0,     2.0,  2008.0 ],
 [ 188.0,     4.0,     2.0,  2009.0 ],
 [ 188.0,     4.0,     2.0,  2007.0 ],
 [ 189.0,     4.0,     2.0,  2013.0 ],
 [ 189.0,     4.0,     2.0,  2012.0 ],
 [ 191.0,     5.0,     2.0,  2004.0 ],
 [ 191.0,     4.0,     2.0,  2004.0 ],
 [ 191.0,     4.0,     2.0,  2010.0 ],
 [ 195.0,     5.0,     3.0,  2014.0 ],
 [ 195.0,     5.0,     3.0,  2013.0 ],
 [ 195.0,     4.0,     4.0,  2013.0 ],
 [ 195.0,     5.0,     2.0,  2016.0 ],
 [ 201.0,     4.0,     2.0,  2017.0 ],
 [ 202.0,     4.0,     2.0,  2016.0 ],
 [ 202.0,     5.0,     2.0,  2014.0 ],
 [ 202.0,     5.0,     2.0,  2014.0 ],
 [ 202.0,     5.0,     2.0,  2012.0 ],
 [ 202.0,     5.0,     2.0,  2014.0 ],
 [ 202.0,     4.0,     2.0,  2013.0 ],
 [ 205.0,     5.0,     2.0,  2014.0 ],
 [ 220.0,     4.0,     2.0,  2012.0 ],
 [ 220.0,     4.0,     2.0,  2016.0 ],
 [ 223.0,     4.0,     2.0,  2007.0 ],
 [ 223.0,     5.0,     2.0,  2011.0 ],
 [ 224.0,     4.0,     2.0,  2015.0 ],
 [ 235.0,     4.0,     2.0,  2013.0 ],
 [ 240.0,     5.0,     2.0,  2013.0 ],
 [ 258.0,     5.0,     2.0,  2009.0 ],
 [ 258.0,     5.0,     2.0,  2012.0 ],
 [ 258.0,     6.0,     2.0,  2012.0 ],
 [ 258.0,     5.0,     2.0,  2004.0 ],
 [ 281.0,     6.0,     2.0,  2009.0 ],
 [ 311.0,     6.0,     2.0,  2016.0 ]]